package cn.razgriz.mybatis;

import cn.razgriz.domain.User;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;

public class MyBatis {

//    public static void main(String[] args) throws IOException {
//        //获得核心配置文件
//        InputStream resourceAsStream = Resources.getResourceAsStream("SqlMapConfig.xml");
//        //获得工厂对象
//        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
//        //获得会话对象
//        SqlSession sqlSession = sqlSessionFactory.openSession();
//        //执行操作  参数：命名空间+id
//        List<User> userList = sqlSession.selectList("userMapper.findAll");
//        //测试
//        System.out.println(userList);
//        //释放资源
//        sqlSession.close();
//    }

//    public static void main(String[] args) throws IOException {
//        //获得核心配置文件
//        InputStream resourceAsStream = Resources.getResourceAsStream("SqlMapConfig.xml");
//        //获得工厂对象
//        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
//        //获得会话对象
//        SqlSession sqlSession = sqlSessionFactory.openSession();
//        //执行操作  传入sql语句和目标对象
//        User u = new User();
//        u.setUsername("123");
//        u.setPassword("lisi");
//        sqlSession.insert("userMapper.save",u);
//        //提交事务
//        sqlSession.commit();
//        //释放资源
//        sqlSession.close();
//    }

    public static void main(String[] args) throws IOException {
        //获得核心配置文件
        InputStream resourceAsStream = Resources.getResourceAsStream("SqlMapConfig.xml");
        //获得工厂对象
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
        //获得会话对象
        SqlSession sqlSession = sqlSessionFactory.openSession();
        //执行操作  传入sql语句和目标对象
        User u = new User();
        u.setId(1);
        u.setUsername("123");
        u.setPassword("lisi");
        sqlSession.update("userMapper.update",u);
        //提交事务
        sqlSession.commit();
        //释放资源
        sqlSession.close();
    }
}
